home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Source Code
/
Visual Basic Source Code.iso
/
vbsource
/
micros1a
/
frmmain.frm
(
.txt
)
next >
Wrap
Visual Basic Form
|
1999-09-09
|
9KB
|
211 lines
VERSION 5.00
Begin VB.Form frmMain
BorderStyle = 3 'Fixed Dialog
Caption = " Mail Merge Sample"
ClientHeight = 855
ClientLeft = 45
ClientTop = 330
ClientWidth = 2610
Icon = "frmMain.frx":0000
LinkTopic = "Form1"
LockControls = -1 'True
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 855
ScaleWidth = 2610
ShowInTaskbar = 0 'False
Begin VB.CommandButton cmdMailMerge
Caption = "&Mail Merge"
Default = -1 'True
Height = 495
Left = 930
TabIndex = 0
Top = 180
Width = 1500
End
Begin VB.Image Image1
Height = 480
Left = 225
Picture = "frmMain.frx":0442
Top = 180
Width = 480
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'**(MODULE HEADER)*************************************************
'* Author: Microsoft Corporation
'* Purpose: This VB Project was created using sample code from
'* Microsoft's Knowledgebase.
'******************************************************************
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Private Sub cmdMailMerge_Click()
Dim wrdSelection As Word.Selection
Dim wrdMailMerge As Word.MailMerge
Dim wrdMergeFields As Word.MailMergeFields
Dim StrToAdd As String
On Error GoTo Error_Handler
Screen.MousePointer = vbHourglass
' Create an instance of Word and make it visible
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
' Add a new document
Set wrdDoc = wrdApp.Documents.Add
wrdDoc.Select
Set wrdSelection = wrdApp.Selection
Set wrdMailMerge = wrdDoc.MailMerge
' Create MailMerge Data file
CreateMailMergeDataFile
' Create a string and insert it into the document
StrToAdd = "State University" & vbCr & "Electrical Engineering Department"
wrdSelection.ParagraphFormat.Alignment = wdAlignParagraphCenter
wrdSelection.TypeText StrToAdd
InsertLines 4 ' Insert merge data
wrdSelection.ParagraphFormat.Alignment = wdAlignParagraphLeft
Set wrdMergeFields = wrdMailMerge.Fields
wrdMergeFields.Add wrdSelection.Range, "FirstName"
wrdSelection.TypeText " "
wrdMergeFields.Add wrdSelection.Range, "LastName"
wrdSelection.TypeParagraph
wrdMergeFields.Add wrdSelection.Range, "Address"
wrdSelection.TypeParagraph
wrdMergeFields.Add wrdSelection.Range, "CityStateZip"
InsertLines 2
' Right justify the line and insert a date field' with the current date
wrdSelection.ParagraphFormat.Alignment = wdAlignParagraphRight
wrdSelection.InsertDateTime _
DateTimeFormat:="dddd, MMMM dd, yyyy", InsertAsField:=False
InsertLines 2
' Justify the rest of the document
wrdSelection.ParagraphFormat.Alignment = wdAlignParagraphJustify
wrdSelection.TypeText "Dear "
wrdMergeFields.Add wrdSelection.Range, "FirstName"
wrdSelection.TypeText ","
InsertLines 2
' Create a string and insert it into the document
StrToAdd = "Thank you for your recent request for next " & _
"semester's class schedule for the Electrical " & _
"Engineering Department. Enclosed with this " & _
"letter is a booklet containing all the classes " & _
"offered next semester at State University. " & _
"Several new classes will be offered in the " & _
"Electrical Engineering Department next semester. " & _
"These classes are listed below."
wrdSelection.TypeText StrToAdd
InsertLines 2 ' Insert a new table with 9 rows and 4 columns
wrdDoc.Tables.Add wrdSelection.Range, NumRows:=9, _
NumColumns:=4
With wrdDoc.Tables(1) ' Set the column widths
.Columns(1).SetWidth 51, wdAdjustNone
.Columns(2).SetWidth 170, wdAdjustNone
.Columns(3).SetWidth 100, wdAdjustNone
.Columns(4).SetWidth 111, wdAdjustNone
' Set the shading on the first row to light gray
.Rows(1).Cells.Shading.BackgroundPatternColorIndex = wdGray25
' Bold the first row
.Rows(1).Range.Bold = True
' Center the text in Cell (1,1)
.Cell(1, 1).Range.Paragraphs.Alignment = wdAlignParagraphCenter
' Fill each row of the table with data
FillRow wrdDoc, 1, "Class Number", "Class Name", "Class Time", "Instructor"
FillRow wrdDoc, 2, "EE220", "Introduction to Electronics II", "1:00-2:00 M,W,F", "Dr. Jensen"
FillRow wrdDoc, 3, "EE230", "Electromagnetic Field Theory I", "10:00-11:30 T,T", "Dr. Crump"
FillRow wrdDoc, 4, "EE300", "Feedback Control Systems", "9:00-10:00 M,W,F", "Dr. Murdy"
FillRow wrdDoc, 5, "EE325", "Advanced Digital Design", "9:00-10:30 T,T", "Dr. Alley"
FillRow wrdDoc, 6, "EE350", "Advanced Communication Systems", "9:00-10:30 T,T", "Dr. Taylor"
FillRow wrdDoc, 7, "EE400", "Advanced Microwave Theory", "1:00-2:30 T,T", "Dr. Lee"
FillRow wrdDoc, 8, "EE450", "Plasma Theory", "1:00-2:00 M,W,F", "Dr. Davis"
FillRow wrdDoc, 9, "EE500", "Principles of VLSI Design", "3:00-4:00 M,W,F", "Dr. Ellison"
End With
' Go to the end of the document
wrdApp.Selection.GoTo wdGoToLine, wdGoToLast
InsertLines 2
' Create a string and insert it into the document
StrToAdd = "For additional information regarding the " & _
"Department of Electrical Engineering, " & _
"you can visit our Web site at "
wrdSelection.TypeText StrToAdd
' Insert a hyperlink to the Web page
wrdSelection.Hyperlinks.Add Anchor:=wrdSelection.Range, Address:="http://www.ee.stateu.tld"
' Create a string and insert it into the document
StrToAdd = ". Thank you for your interest in the classes " & _
"offered in the Department of Electrical " & _
"Engineering. If you have any other questions, " & _
"please feel free to give us a call at " & _
"555-1212." & vbCr & vbCr & _
"Sincerely," & vbCr & vbCr & _
"Kathryn M. Hinsch" & vbCr & _
"Department of Electrical Engineering" & vbCr
wrdSelection.TypeText StrToAdd
' Where to send the document?'
wrdMailMerge.Destination = wdSendToNewDocument
' wrdMailMerge.Destination = wdSendToEmail
' wrdMailMerge.Destination = wdSendToFax
' wrdMailMerge.Destination = wdSendToPrinter
' --- Perform MAIL MERGE --- '
wrdMailMerge.Execute False
wrdDoc.PrintPreview
' Close the original form document
wrdDoc.Saved = True
' wrdDoc.Close False
' Notify user we are done.
MsgBox "Mail Merge Complete.", vbMsgBoxSetForeground
' Release References
Set wrdSelection = Nothing
Set wrdMailMerge = Nothing
Set wrdMergeFields = Nothing
Set wrdDoc = Nothing
Set wrdApp = Nothing
' Cleanup temp file
' Kill "C:\DataDoc.doc"
Screen.MousePointer = vbDefault
Exit Sub
Error_Handler:
Screen.MousePointer = vbDefault
MsgBox "Error: " & Err.Number & vbLf & vbLf & Err.Description, vbExclamation, "Mail Merge Error!"
End Sub
Public Sub InsertLines(LineNum As Integer)
Dim iCount As Integer
'INSERT BLANK LINES IN MS WORD
For iCount = 1 To LineNum
wrdApp.Selection.TypeParagraph
Next iCount
End Sub
Public Sub FillRow(Doc As Word.Document, Row As Integer, _
Text1 As String, Text2 As String, _
Text3 As String, Text4 As String)
With Doc.Tables(1) ' Insert the data into the specific cell
.Cell(Row, 1).Range.InsertAfter Text1
.Cell(Row, 2).Range.InsertAfter Text2
.Cell(Row, 3).Range.InsertAfter Text3
.Cell(Row, 4).Range.InsertAfter Text4
End With
End